package server.secretaria.grupo;

import persistencia.dominio.*;
import persistencia.dominio.testGrupos.CreacionDeTablas;
import persistencia.Persistencia;
import server.Singleton;
import comun.MyException;
import comun.constantes.*;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.*;

public class CrearPlantillaEstandarParaPermisosDeRecursosNuevosEnLosGrupos {

 static Persistencia persistencia;
 static Connection conexionSQL = null;
 // tipos de usuarios
 static TipoUsuario tipoUsuarioAlumno = null;
 static TipoUsuario tipoUsuarioTutor = null;
 static TipoUsuario tipoUsuarioAdministrador = null;
 static TipoUsuario tipoUsuarioAdministradorMateriales = null;
 static TipoUsuario tipoUsuarioDocente = null;
 static TipoUsuario tipoUsuarioMonitorSiat = null;
 static TipoUsuario tipoUsuarioWebMaster = null;
 static TipoUsuario tipoUsuarioResponsable = null;
 static TipoUsuario tipoUsuarioColaborador = null;
 static TipoUsuario tipoUsuarioCoordinador = null;
 static TipoUsuario tipoUsuarioVeedor = null;
 static TipoUsuario tipoUsuarioInvitado = null;
 static TipoUsuario tipoUsuarioDirector = null;

  // Los distintos tipos de Recursos
 static Recurso recursoChat = null;  
 static Recurso recursoInicio = null;
 static Recurso recursoFaq = null;
 static Recurso recursoPizarron = null;
 static Recurso recursoCorreo = null;
 static Recurso recursoForoOpinion = null;
 static Recurso recursoForoAsunto = null;
 static Recurso recursoForoEstado = null;
 static Recurso recursoEstadisticas = null;
 static Recurso recursoEstadisticasAcceso = null;
 static Recurso recursoActividades = null;
 static Recurso recursoEnviarActividadesYVerCalificaciones = null;
 static Recurso recursoRecibirYEvaluarActividades = null;
 static Recurso recursoEvaluarActividades = null;
 static Recurso recursoCrearActividades = null;
 static Recurso recursoCarpetaPersonal = null;
 static Recurso recursoMaterial = null;
 static Recurso recursoMaterialAdicional = null;
 static Recurso recursoSoftware = null;
 static Recurso recursoBibliografia = null;
 static Recurso recursoEnlaces = null;
 static Recurso recursoNoticias = null;
 static Recurso recursoDatosPersonales = null;
 static Recurso recursoInformacion = null;
 static Recurso recursoCalendario = null;
 static Recurso recursoAlertas = null;
 static Recurso recursoSecretaria = null;
 static Recurso recursoOferta = null;
 static Recurso recursoContactos = null;
 static Recurso recursoSeguimiento = null;
 // Los distintos tipos de permisos
 static TipoPermiso tipoPermisoNinguno = null;
 static TipoPermiso tipoPermisoLectura = null;
 static TipoPermiso tipoPermisoEscritura = null;

 
 static Recurso recursoPreguntasFrecuentes = null;
 static Recurso recursoRespuestasFrecuentes = null;
 static Recurso recursoGestionIntegrantes = null;
 static Recurso recursoInvitacion = null;
 static Recurso recursoSolicitud = null;
 static Recurso recursoGrupos = null;
 static Recurso recursoAnotador = null;
 static Recurso recursoCalificacionesVistaTutor = null;
 static Recurso recursoFaqGPC = null;
 static Recurso recursoCalificacionesVistaAlumno = null;
 static TipoUsuario tipoUsuarioLider = null;
 static TipoUsuario tipoUsuarioLiderSuplente = null;
 static TipoUsuario tipoUsuarioParticipanteInvitadoInteresado = null;
 static TipoUsuario tipousuarioParticipante = null;
 static TipoUsuario tipoUsuarioUsuarioPublico = null;

  public static void LevantarDatos() throws Exception{
	 levantarTiposUsuario();
	 levantarTiposRoles();
	 levantarTipoPermiso();
	 levantarRecursos();
  }
  
  public static void initPersistencia(){
	  persistencia = new Persistencia();
	  persistencia.crearTransaccion();
	  //REGISTER DRIVER
	  try {
	      Driver d = (Driver)Class.forName(Singleton.driver).newInstance();
	  }catch (Exception e){
	      System.out.println(e);
	  }

	  //GET CONNECTION
	  conexionSQL=null;
	  try{
	      conexionSQL = DriverManager.getConnection(Singleton.url,Singleton.userName,Singleton.password);
	  }catch(Exception e){
	      System.out.println(e);
	  }
  }
 
  public static boolean commit(){
	 try {
		  persistencia.commit();
		  conexionSQL.close();
	      return true;
	  }catch(Exception ex){
		  ex.printStackTrace();
		  persistencia.rollback();
		  try{
		     conexionSQL.close();
		  }catch(SQLException ex1){
		      ex1.printStackTrace();
		      return false;
		  }
		     return false;
	  }
  }
 
  public static boolean rollback(){
	 try {
		 persistencia.rollback();
		 conexionSQL.close();
		 return true;
	 }catch (Exception ex){
		 ex.printStackTrace();
		 return false;
	 }
  }
  
  protected static void levantarRecursos(){
    try{
	    // Los distintos tipos de Recursos
	    recursoChat = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CHAT+"\" ").elementAt(0);
	    recursoInicio = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.INICIO+"\" ").elementAt(0);
	    recursoFaq = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.FAQ+"\" ").elementAt(0);
	    recursoPizarron = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.PIZARRON+"\" ").elementAt(0);
	    recursoNoticias = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.NOTICIAS+"\" ").elementAt(0);
	    recursoCorreo = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CORREO+"\" ").elementAt(0);
	    recursoForoOpinion = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.FORO_OPINION+"\" ").elementAt(0);
	    recursoForoAsunto = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.FORO_ASUNTO+"\" ").elementAt(0);
	    recursoForoEstado = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.FORO_ESTADO+"\" ").elementAt(0);
	    recursoEstadisticas = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ESTADISTICAS+"\" ").elementAt(0);
	    recursoEstadisticasAcceso = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ESTADISTICAS_ACCESO+"\" ").elementAt(0);
	    recursoActividades = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ACTIVIDADES+"\" ").elementAt(0);
	    recursoEnviarActividadesYVerCalificaciones = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ENVIAR_ACTIVIDADES_Y_VER_CALIFICACIONES+"\" ").elementAt(0);
	    recursoEvaluarActividades = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.EVALUAR_ACTIVIDADES+"\" ").elementAt(0);
	    recursoEvaluarActividades = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.EVALUAR_ACTIVIDADES+"\" ").elementAt(0);
	    recursoCrearActividades = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CREAR_ACTIVIDADES+"\" ").elementAt(0);
	    recursoRecibirYEvaluarActividades = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.RECIBIR_Y_EVALUAR_ACTIVIDADES+"\" ").elementAt(0);
	    recursoCarpetaPersonal = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CARPETA_PERSONAL+"\" ").elementAt(0);
	    recursoMaterial =(Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.MATERIALES+"\" ").elementAt(0);
	    recursoMaterialAdicional = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.MATERIALES_ADICIONALES+"\" ").elementAt(0);
	    recursoBibliografia =(Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.BIBLIOGRAFIA+"\" ").elementAt(0);
	    recursoSoftware = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.SOFTWARE+"\" ").elementAt(0);
	    recursoEnlaces = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ENLACES+"\" ").elementAt(0);
	    recursoNoticias = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.NOTICIAS+"\" ").elementAt(0);
	    recursoDatosPersonales = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.DATOS_PERSONALES+"\" ").elementAt(0);
	    recursoInformacion = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.INFORMACION+"\" ").elementAt(0);
	    recursoCalendario = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CALENDARIO+"\" ").elementAt(0);
	    recursoAlertas =(Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ALERTAS+"\" ").elementAt(0);
	    recursoOferta = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.OFERTA+"\" ").elementAt(0);
	    recursoContactos = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CONTACTOS+"\" ").elementAt(0);
	    recursoSecretaria = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.SECRETARIA_GRUPO+"\" ").elementAt(0);
	    recursoSeguimiento = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.SEGUIMIENTO+"\" ").elementAt(0);
	    recursoAnotador = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.ANOTADOR+"\" ").elementAt(0);
	    recursoGrupos = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.GRUPO+"\" ").elementAt(0);
	    recursoPreguntasFrecuentes = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.PREGUNTAS_FRECUENTES_FAQ_GPC+"\" ").elementAt(0);
	    recursoRespuestasFrecuentes = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.RESPUESTAS_FRECUENTES_FAQ_GPC+"\" ").elementAt(0);
	    recursoGestionIntegrantes = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.GESTION_INTEGRANTES+"\" ").elementAt(0);
	    recursoInvitacion = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.INVITACION+"\" ").elementAt(0);
	    recursoSolicitud = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.SOLICITUD+"\" ").elementAt(0);
	    recursoCalificacionesVistaAlumno = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CALIFICACIONES_VISTA_ALUMNO+"\" ").elementAt(0);
	    recursoCalificacionesVistaTutor = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.CALIFICACIONES_VISTA_TUTOR+"\" ").elementAt(0);	   
	    recursoFaqGPC = (Recurso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Recurso","nombre==\""+RECURSOS.FAQ_GPC+"\" ").elementAt(0);
	}catch(Exception ee){
		ee.printStackTrace();
	}
  }

  protected static void levantarTipoPermiso() throws Exception{

		tipoPermisoNinguno = (TipoPermiso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoPermiso","descripcion==\""+TIPO_PERMISOS.NINGUNO+"\" ").elementAt(0);
		tipoPermisoLectura= (TipoPermiso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoPermiso","descripcion==\""+TIPO_PERMISOS.LECTURA+"\" ").elementAt(0);
		tipoPermisoEscritura= (TipoPermiso)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoPermiso","descripcion==\""+TIPO_PERMISOS.ESCRITURA+"\" ").elementAt(0);

  }

  protected static void levantarTiposUsuario() throws Exception{

		tipoUsuarioAlumno = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.ALUMNO+"\" ").elementAt(0);;
		tipoUsuarioTutor = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.TUTOR+"\" ").elementAt(0);
		tipoUsuarioAdministrador = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.ADMINISTRADOR+"\" ").elementAt(0);
		tipoUsuarioAdministradorMateriales = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.ADMINISTRADOR_MATERIALES+"\" ").elementAt(0);
		tipoUsuarioMonitorSiat = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.MONITOR_SIAT+"\" ").elementAt(0);
		tipoUsuarioWebMaster = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.WEBMASTER+"\" ").elementAt(0);
		tipoUsuarioResponsable = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.RESPONSABLE+"\" ").elementAt(0);
		tipoUsuarioColaborador  = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.COLABORADOR+"\" ").elementAt(0);
		tipoUsuarioCoordinador  = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.COORDINADOR+"\" ").elementAt(0);
		tipoUsuarioDocente = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.DOCENTE+"\" ").elementAt(0);
		tipoUsuarioVeedor= (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.VEEDOR+"\" ").elementAt(0);
		tipoUsuarioInvitado = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.INVITADO+"\" ").elementAt(0);
		tipoUsuarioDirector = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.DIRECTOR+"\" ").elementAt(0);
	
	
  }

    protected static void levantarTiposRoles() throws Exception{
		
			tipoUsuarioLider = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.LIDER+"\" ").elementAt(0);
			tipoUsuarioLiderSuplente = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.LIDER_SUPLENTE+"\" ").elementAt(0);
			tipousuarioParticipante= (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.PARTICIPANTE+"\" ").elementAt(0);
			tipoUsuarioParticipanteInvitadoInteresado= (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.PARTICIPANTE_INVITADO_O_INTERESADO+"\" ").elementAt(0);
			tipoUsuarioUsuarioPublico = (TipoUsuario)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoUsuario","nombre==\""+TIPO_USUARIOS.USUARIO_PUBLICO+"\" ").elementAt(0);
	 
	}

	public static void crearPermiso(Aula aula, Recurso recurso, TipoPermiso tipoPermiso, TipoUsuario tipoUsuario){
	    PermisoAcceso permisoAcceso = new PermisoAcceso();
	    permisoAcceso.setRecurso(recurso);
	    permisoAcceso.setTipoPermiso(tipoPermiso);
	    permisoAcceso.setAula(aula);
	    permisoAcceso.setTipoUsuario(tipoUsuario);
	    persistencia.hacerPersistente(permisoAcceso);
	}
	 
	public static void crearPlantillaDePermisosEstandarParaGruposHechaACodigo(String nombre) throws Exception{
			Grupo grupo = new Grupo();
			grupo.setNombre(nombre);
			grupo.setDescripcion("Plantilla de Permisos Estandares para la utilizacion de Recursos en un Grupo del Aula "+nombre);
			persistencia.hacerPersistente(grupo);
			TipoAula tipoAula = (TipoAula)persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.TipoAula","nombre ==\""+TIPO_AULAS.GRUPO+"\"").elementAt(0);
			grupo.setTipoAula(tipoAula);
			cargarPermisosLiderGrupo(grupo);
			cargarPermisosLiderSuplenteGrupo(grupo);
			cargarPermisosParticipanteGrupo(grupo);
			cargarPermisosParticipanteInvitadoInteresadoGrupo(grupo);
			cargarPermisosUsuarioGrupoPublico(grupo);
			cargarPermisosWebMasterGrupo(grupo);
			cargarPermisosDocenteGrupo(grupo);
			cargarPermisosColaboradorGrupo(grupo);
			cargarPermisosDirectorGrupo(grupo); 
			cargarPermisosCoodinadorGrupo(grupo);
			cargarPermisosTutorGrupo(grupo); 
			cargarPermisosVeedorGrupo(grupo); 
			cargarPermisosAdministradorGrupo(grupo);
			cargarPermisosAdministradorMaterialesGrupo(grupo); 
			cargarPermisosMonitorSIATGrupo(grupo);
			cargarPermisosResponsableGrupo(grupo); 
			cargarPermisosInvitadoGrupo(grupo);
	
	}

	protected static void crearPermisoIntegranteLiderGrupo(Aula grupo, Recurso recurso, TipoPermiso tipoPermiso){
	   crearPermiso(grupo, recurso, tipoPermiso, tipoUsuarioLider);
	}
	protected static void crearPermisoIntegranteLiderSuplenteGrupo(Aula grupo, Recurso recurso, TipoPermiso tipoPermiso){
	   crearPermiso(grupo, recurso, tipoPermiso, tipoUsuarioLiderSuplente);
	}
	protected static void crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(Aula grupo, Recurso recurso, TipoPermiso tipoPermiso){
	   crearPermiso(grupo, recurso, tipoPermiso, tipoUsuarioParticipanteInvitadoInteresado);
	}
	protected static void crearPermisoIntegranteParticipanteGrupo(Aula grupo, Recurso recurso, TipoPermiso tipoPermiso){
	   crearPermiso(grupo, recurso, tipoPermiso, tipousuarioParticipante);
	}
	protected static void crearPermisoUsuarioGrupoPublico(Aula grupo, Recurso recurso, TipoPermiso tipoPermiso){
	   crearPermiso(grupo, recurso, tipoPermiso, tipoUsuarioUsuarioPublico);
	}
	protected static void crearPermisoMonitorSiat(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioMonitorSiat);
	}
	protected static void crearPermisoColaborador(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioColaborador);
	}
	protected static void crearPermisoCoordinador(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioCoordinador);
	}
	protected static void crearPermisoResponsable(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioResponsable);
	}
	protected static void crearPermisoWebMaster(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioWebMaster);
	}
	protected static void crearPermisoTutor(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioTutor);
	}
	protected static void crearPermisoDocente(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioDocente);
	}
	protected static void crearPermisoAdministradorMateriales(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioAdministradorMateriales);
	}
	protected static void crearPermisoAdministrador(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioAdministrador);
	}
	protected static void crearPermisoAlumno(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioAlumno);
	}
	protected static void crearPermisoVeedor(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioVeedor);
	} 
	protected static void crearPermisoInvitado(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioInvitado);
	}	
	protected static void crearPermisoDirector(Aula aula, Recurso recurso, TipoPermiso tipoPermiso){
		crearPermiso(aula, recurso, tipoPermiso, tipoUsuarioDirector);
	}
  
	public static void cargarPermisosLiderGrupo(Aula grupo){
		 crearPermisoIntegranteLiderGrupo(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoIntegranteLiderGrupo(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoForoEstado, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoForoAsunto, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoActividades, tipoPermisoEscritura);
		 //crearPermisoIntegranteLiderGrupo(grupo, recursoRecibirYEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteLiderGrupo(grupo, recursoEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteLiderGrupo(grupo, recursoCrearActividades, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoEnviarActividadesYVerCalificaciones, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoCalificacionesVistaAlumno, tipoPermisoLectura);
		 //crearPermisoIntegranteLiderGrupo(grupo, recursoCalificacionesVistaTutor, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoSolicitud, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderGrupo(grupo, recursoSecretaria, tipoPermisoEscritura);
	}

	 public static void cargarPermisosLiderSuplenteGrupo(Aula grupo){
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoForoEstado, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoForoAsunto, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoActividades, tipoPermisoEscritura);
		 //crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoRecibirYEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoCrearActividades, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoEnviarActividadesYVerCalificaciones, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoCalificacionesVistaAlumno, tipoPermisoLectura);
		 //crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoCalificacionesVistaTutor, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoSolicitud, tipoPermisoEscritura);
		 crearPermisoIntegranteLiderSuplenteGrupo(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }

	 public static void cargarPermisosParticipanteGrupo(Aula grupo){
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoIntegranteParticipanteGrupo(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoForoEstado, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoForoAsunto, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoActividades, tipoPermisoEscritura);
		 //crearPermisoIntegranteParticipanteGrupo(grupo, recursoRecibirYEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteParticipanteGrupo(grupo, recursoEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteParticipanteGrupo(grupo, recursoCrearActividades, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoEnviarActividadesYVerCalificaciones, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoCalificacionesVistaAlumno, tipoPermisoLectura);
		 //crearPermisoIntegranteParticipanteGrupo(grupo, recursoCalificacionesVistaTutor, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoSolicitud, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteGrupo(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }

	 public static void cargarPermisosParticipanteInvitadoInteresadoGrupo(Aula grupo){
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoActividades, tipoPermisoEscritura);
		 //crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoRecibirYEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoCrearActividades, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoEnviarActividadesYVerCalificaciones, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoCalificacionesVistaAlumno, tipoPermisoLectura);
		 //crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoCalificacionesVistaTutor, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoGestionIntegrantes, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoInvitacion, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoSolicitud, tipoPermisoLectura);
		 crearPermisoIntegranteParticipanteInvitadoOInteresadoGrupo(grupo, recursoSecretaria, tipoPermisoLectura);
	 } 
	
	public static void cargarPermisosUsuarioGrupoPublico(Aula grupo){
		 crearPermisoUsuarioGrupoPublico(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoUsuarioGrupoPublico(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoCorreo, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoForoOpinion, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoActividades, tipoPermisoLectura);
		 //crearPermisoUsuarioGrupoPublico(grupo, recursoRecibirYEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoUsuarioGrupoPublico(grupo, recursoEvaluarActividades, tipoPermisoNinguno);
		 //crearPermisoUsuarioGrupoPublico(grupo, recursoCrearActividades, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoEnviarActividadesYVerCalificaciones, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 //crearPermisoUsuarioGrupoPublico(grupo, recursoCalificacionesVistaTutor, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoCalendario, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoAnotador, tipoPermisoLectura);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoGestionIntegrantes, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoInvitacion, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoSolicitud, tipoPermisoNinguno);
		 crearPermisoUsuarioGrupoPublico(grupo, recursoSecretaria, tipoPermisoLectura);
	 }	 

	public static void cargarPermisosDocenteGrupo(Aula grupo){
		 crearPermisoDocente(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoDocente(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoDocente(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoDocente(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoDocente(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoDocente(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoDocente(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoDocente(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoDocente(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void cargarPermisosColaboradorGrupo(Aula grupo){
		 crearPermisoColaborador(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoColaborador(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoColaborador(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoColaborador(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoColaborador(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoCalificacionesVistaTutor, tipoPermisoLectura);
		 crearPermisoColaborador(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoColaborador(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoColaborador(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoColaborador(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoColaborador(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void cargarPermisosCoodinadorGrupo(Aula grupo){
		 crearPermisoCoordinador(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoCoordinador(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoCoordinador(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoCoordinador(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoCoordinador(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoCalificacionesVistaTutor, tipoPermisoLectura);
		 crearPermisoCoordinador(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoCoordinador(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoCoordinador(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoCoordinador(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoCoordinador(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void cargarPermisosResponsableGrupo(Aula grupo){
		 crearPermisoResponsable(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoResponsable(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoResponsable(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoResponsable(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoResponsable(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoCalificacionesVistaTutor, tipoPermisoLectura);
		 crearPermisoResponsable(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoResponsable(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoResponsable(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoSolicitud, tipoPermisoEscritura);
		 crearPermisoResponsable(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 	 
	 public static void cargarPermisosMonitorSIATGrupo(Aula grupo){
		 crearPermisoMonitorSiat(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoMonitorSiat(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoMonitorSiat(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoMonitorSiat(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoMonitorSiat(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoMonitorSiat(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoMonitorSiat(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoMonitorSiat(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoMonitorSiat(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }

	 
	 public static void cargarPermisosTutorGrupo(Aula grupo){
		 crearPermisoTutor(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoTutor(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoTutor(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoTutor(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoTutor(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoTutor(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoTutor(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoTutor(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoTutor(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }

	 
	 public static void cargarPermisosWebMasterGrupo(Aula grupo){
		 crearPermisoWebMaster(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoWebMaster(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoWebMaster(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoWebMaster(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoWebMaster(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoWebMaster(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoWebMaster(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoWebMaster(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoWebMaster(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }

	 public static void cargarPermisosVeedorGrupo(Aula grupo){
		 crearPermisoVeedor(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoVeedor(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoVeedor(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoVeedor(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoVeedor(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoVeedor(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoVeedor(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoVeedor(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoVeedor(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }

	 public static void cargarPermisosInvitadoGrupo(Aula grupo){
		 crearPermisoInvitado(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoInvitado(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoInvitado(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoInvitado(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoInvitado(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoInvitado(grupo, recursoAnotador, tipoPermisoNinguno);
		 crearPermisoInvitado(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoInvitado(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoInvitado(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void cargarPermisosDirectorGrupo(Aula grupo){
		 crearPermisoDirector(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoDirector(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoDirector(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoDirector(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoDirector(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoDirector(grupo, recursoAnotador, tipoPermisoNinguno);
		 crearPermisoDirector(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoDirector(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoDirector(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void cargarPermisosAdministradorGrupo(Aula grupo){
		 crearPermisoAdministrador(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoAdministrador(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoAdministrador(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoAdministrador(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoAdministrador(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoAdministrador(grupo, recursoAnotador, tipoPermisoNinguno);
		 crearPermisoAdministrador(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoAdministrador(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoAdministrador(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void cargarPermisosAdministradorMaterialesGrupo(Aula grupo){
		 crearPermisoAdministradorMateriales(grupo, recursoInicio, tipoPermisoLectura);
		 //crearPermisoAdministradorMateriales(grupo, recursoChat,tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoCorreo, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoForoEstado, tipoPermisoLectura);
		 crearPermisoAdministradorMateriales(grupo, recursoForoAsunto, tipoPermisoLectura);
		 crearPermisoAdministradorMateriales(grupo, recursoForoOpinion, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoActividades, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoRecibirYEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoEvaluarActividades, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoCrearActividades, tipoPermisoEscritura);
		 //crearPermisoAdministradorMateriales(grupo, recursoCalificacionesVistaAlumno, tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoCalificacionesVistaTutor, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoMaterial, tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoBibliografia, tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoEnlaces, tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoSoftware, tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoMaterialAdicional, tipoPermisoNinguno);
		 crearPermisoAdministradorMateriales(grupo, recursoCalendario, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoAlertas, tipoPermisoLectura);
		 crearPermisoAdministradorMateriales(grupo, recursoAnotador, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoGestionIntegrantes, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoInvitacion, tipoPermisoEscritura);
		 crearPermisoAdministradorMateriales(grupo, recursoSolicitud, tipoPermisoEscritura); 
		 crearPermisoAdministradorMateriales(grupo, recursoSecretaria, tipoPermisoEscritura);
	 }
	 
	 public static void main(String[] args){
		 try{
			 initPersistencia(); 
		  	 System.out.println("=======================INICIO LA CARGA DE LA BD==========================");
		  	 LevantarDatos();
		  	crearPlantillaDePermisosEstandarParaGruposHechaACodigo(TIPO_CONFIGURACION_DE_GRUPOS.PERMISOS_ESTANDAR_PARA_GRUPO);
		  	 System.out.println("=======================TERMINO LA CARGA DE LA BD==========================");
		  	 commit();
		    }catch(Exception ee){
				  rollback();
				  ee.printStackTrace();			
		    }  
	 }	 
}